home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group95a.txt / 000027_icon-group-sender _Fri Jan 27 16:02:06 1995.msg < prev    next >
Internet Message Format  |  1995-02-09  |  2KB

  1. Received: by cheltenham.cs.arizona.edu; Fri, 27 Jan 1995 10:39:04 MST
  2. To: icon-group-l@cs.arizona.edu
  3. Date: 27 Jan 1995 16:02:06 GMT
  4. From: Will Mengarini <mengarini@delphi.com>
  5. Message-Id: <3gb5du$r2g@news.halcyon.com>
  6. Organization: Northwest Nexus Inc.
  7. Sender: icon-group-request@cs.arizona.edu
  8. References: <D2x5tu.89@on.bell.ca>
  9. Subject: Re: Icon V9, under OpenVMS/VAX and Indexed RMS files
  10. Errors-To: icon-group-errors@cs.arizona.edu
  11.  
  12. btiffin@on.bell.ca (Brian Tiffin) writes:
  13.  
  14. >I'd like a way of indexing into our keyed Canada Post data
  15. >to pull out the actual postal code. [...] Reading through the file as flat 
  16. >ASCII just doesn't cut it and its way too huge to pull into a TABLE.  
  17. >I'm thinking that I should probably look into the C interface [...]
  18.  
  19. You probably already have fast query programs for your postal database,
  20. including ones that let you make queries from the shell prompt.
  21. If I were doing this under MS-DOS, I'd use system() to call such a
  22. query program, rather than coding my own function.  I'd have it write
  23. the query result to a RAMDisk, & I'd have the executable code of the
  24. query program on a RAM-cached disk.  The only real overhead would be
  25. process switching, which would be much faster than any Icon 
  26. implementation of a database query, & much easier to program.
  27.  
  28. The "C interface", allowing you to code C routines to integrate
  29. with your Icon routines, hasn't worked for several years, AFAIK.
  30. It's possible to hack the interpreter to put in your own functions,
  31. but that's much more difficult than using system().
  32.  
  33. Always call collect() right before each system() call.